package com.sdppf.tools;
import java.lang.reflect.*;
import java.net.URLDecoder;


public class EncodingTool<T>{
	public static<T> T utf8ToGbk(T e) throws Exception
	{
		Field[] fields=e.getClass().getDeclaredFields();
		for(int i=0;i<fields.length;i++)
		{
			String fieldName=fields[i].getName();
			String getmethodname="get"+fieldName.substring(0,1).toUpperCase()+fieldName.substring(1);
			Method getmethod=e.getClass().getMethod(getmethodname, e.getClass().getInterfaces());
			Object value=getmethod.invoke(e, null);
			if(fields[i].getType().equals(Class.forName("java.lang.String"))&&value!=null)
			{
				String setmethodName="set"+fieldName.substring(0,1).toUpperCase()+fieldName.substring(1);
				Method setmethod=e.getClass().getMethod(setmethodName,Class.forName("java.lang.String"));
				setmethod.invoke(e, URLDecoder.decode(value.toString(), "UTF-8"));
			}
		}
		return e;
	}
}
